

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  
  <title>Canvas (lv_canvas) &mdash; LVGL  documentation</title>
  

  
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
  <link rel="stylesheet" href="../../_static/css/fontawesome.min.css" type="text/css" />

  
  
    <link rel="shortcut icon" href="../../_static/favicon.png"/>
  

  
  

  
    <link rel="canonical" href="https://docs.lvgl.io/master/en/html/widgets/core/canvas.html" />

  
  <!--[if lt IE 9]>
    <script src="../../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
        <script src="../../_static/jquery.js"></script>
        <script src="../../_static/underscore.js"></script>
        <script src="../../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../../_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="../../genindex.html" />
    <link rel="search" title="Search" href="../../search.html" />
    <link rel="next" title="Checkbox (lv_checkbox)" href="checkbox.html" />
    <link rel="prev" title="Button matrix (lv_btnmatrix)" href="btnmatrix.html" />
 
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-78811084-3"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

	gtag('config', 'UA-78811084-3', { 'anonymize_ip': true });
</script>

</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../../index.html">
          

          
            
            <img src="../../_static/logo_lvgl.png" class="logo" alt="Logo"/>
          
          </a>

          
            
            
              <div class="version">
                8.1
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../intro/index.html">Introduction</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#key-features">Key features</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#requirements">Requirements</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#license">License</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#repository-layout">Repository layout</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#release-policy">Release policy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#release-cycle">Release cycle</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#branches">Branches</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#changelog">Changelog</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#version-support">Version support</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../intro/index.html#faq">FAQ</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#where-can-i-ask-questions">Where can I ask questions?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#is-my-mcu-hardware-supported">Is my MCU/hardware supported?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#is-my-display-supported">Is my display supported?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#lvgl-doesn-t-start-randomly-crashes-or-nothing-is-drawn-on-the-display-what-can-be-the-problem">LVGL doesn't start, randomly crashes or nothing is drawn on the display. What can be the problem?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#my-display-driver-is-not-called-what-have-i-missed">My display driver is not called. What have I missed?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#why-is-the-display-driver-called-only-once-only-the-upper-part-of-the-display-is-refreshed">Why is the display driver called only once? Only the upper part of the display is refreshed.</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#why-do-i-see-only-garbage-on-the-screen">Why do I see only garbage on the screen?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#why-do-i-see-nonsense-colors-on-the-screen">Why do I see nonsense colors on the screen?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#how-to-speed-up-my-ui">How to speed up my UI?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#how-to-reduce-flash-rom-usage">How to reduce flash/ROM usage?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#how-to-reduce-the-ram-usage">How to reduce the RAM usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../intro/index.html#how-to-work-with-an-operating-system">How to work with an operating system?</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../examples.html">Examples</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#get-started">Get started</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#a-button-with-a-label-and-react-on-click-event">A button with a label and react on click event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#create-styles-from-scratch-for-buttons">Create styles from scratch for buttons</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#create-a-slider-and-write-its-value-on-a-label">Create a slider and write its value on a label</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#styles">Styles</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#size-styles">Size styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#background-styles">Background styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#border-styles">Border styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#outline-styles">Outline styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#shadow-styles">Shadow styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#image-styles">Image styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#text-styles">Text styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#line-styles">Line styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#transition">Transition</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#using-multiple-styles">Using multiple styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#local-styles">Local styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#add-styles-to-parts-and-states">Add styles to parts and states</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#extending-the-current-theme">Extending the current theme</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#animations">Animations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#start-animation-on-an-event">Start animation on an event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#playback-animation">Playback animation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#animation-timeline">Animation timeline</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#events">Events</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#button-click-event">Button click event</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#handle-multiple-events">Handle multiple events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#event-bubbling">Event bubbling</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#layouts">Layouts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#flex">Flex</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#a-simple-row-and-a-column-layout-with-flexbox">A simple row and a column layout with flexbox</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#arrange-items-in-rows-with-wrap-and-even-spacing">Arrange items in rows with wrap and even spacing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-flex-grow">Demonstrate flex grow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#id1">Demonstrate flex grow.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-column-and-row-gap-style-properties">Demonstrate column and row gap style properties</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#rtl-base-direction-changes-order-of-the-items">RTL base direction changes order of the items</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#grid">Grid</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#a-simple-grid">A simple grid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-cell-placement-and-span">Demonstrate cell placement and span</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-grid-s-free-unit">Demonstrate grid's &quot;free unit&quot;</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-track-placement">Demonstrate track placement</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-column-and-row-gap">Demonstrate column and row gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#demonstrate-rtl-direction-on-grid">Demonstrate RTL direction on grid</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#scrolling">Scrolling</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#nested-scrolling">Nested scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#snapping">Snapping</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#floating-button">Floating button</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#styling-the-scrollbars">Styling the scrollbars</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#right-to-left-scrolling">Right to left scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#translate-on-scroll">Translate on scroll</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../examples.html#widgets">Widgets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#base-object">Base object</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#base-objects-with-custom-styles">Base objects with custom styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#make-an-object-draggable">Make an object draggable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#arc">Arc</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-arc">Simple Arc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#loader-with-arc">Loader with Arc</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#bar">Bar</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-bar">Simple Bar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#styling-a-bar">Styling a bar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#temperature-meter">Temperature meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#stripe-pattern-and-range-value">Stripe pattern and range value</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#bar-with-ltr-and-rtl-base-direction">Bar with LTR and RTL base direction</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#custom-drawer-to-show-the-current-value">Custom drawer to show the current value</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#button">Button</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-buttons">Simple Buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#styling-buttons">Styling buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#gummy-button">Gummy button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#button-matrix">Button matrix</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-button-matrix">Simple Button matrix</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#custom-buttons">Custom buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#pagination">Pagination</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#calendar">Calendar</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#calendar-with-header">Calendar with header</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#canvas">Canvas</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#drawing-on-the-canvas-and-rotate">Drawing on the Canvas and rotate</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#transparent-canvas-with-chroma-keying">Transparent Canvas with chroma keying</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#chart">Chart</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#line-chart">Line Chart</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#faded-area-line-chart-with-custom-division-lines">Faded area line chart with custom division lines</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#axis-ticks-and-labels-with-scrolling">Axis ticks and labels with scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#show-the-value-of-the-pressed-points">Show the value of the pressed points</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#display-1000-data-points-with-zooming-and-scrolling">Display 1000 data points with zooming and scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#show-cursor-on-the-clicked-point">Show cursor on the clicked point</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#scatter-chart">Scatter chart</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#stacked-area-chart">Stacked area chart</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#checkbox">Checkbox</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-checkboxes">Simple Checkboxes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#checkboxes-as-radio-buttons">Checkboxes as radio buttons</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#colorwheel">Colorwheel</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-colorwheel">Simple Colorwheel</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#dropdown">Dropdown</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-drop-down-list">Simple Drop down list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#drop-down-in-four-directions">Drop down in four directions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#menu">Menu</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#image">Image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#image-from-variable-and-symbol">Image from variable and symbol</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#image-recoloring">Image recoloring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#rotate-and-zoom">Rotate and zoom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#image-offset-and-styling">Image offset and styling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#image-button">Image button</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-image-button">Simple Image button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#keyboard">Keyboard</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#keyboard-with-text-area">Keyboard with text area</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#label">Label</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#line-wrap-recoloring-and-scrolling">Line wrap, recoloring and scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#text-shadow">Text shadow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#show-ltr-rtl-and-chinese-texts">Show LTR, RTL and Chinese texts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#draw-label-with-gradient-color">Draw label with gradient color</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#led">LED</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#led-with-custom-style">LED with custom style</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#line">Line</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-line">Simple Line</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#list">List</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-list">Simple List</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#sorting-a-list-using-up-and-down-buttons">Sorting a List using up and down buttons</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#id2">Menu</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-menu">Simple Menu</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-menu-with-root-btn">Simple Menu with root btn</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-menu-with-custom-header">Simple Menu with custom header</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-menu-with-floating-btn-to-add-new-menu-page">Simple Menu with floating btn to add new menu page</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#complex-menu">Complex Menu</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#meter">Meter</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-meter">Simple meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#a-meter-with-multiple-arcs">A meter with multiple arcs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#a-clock-from-a-meter">A clock from a meter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#pie-chart">Pie chart</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#message-box">Message box</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-message-box">Simple Message box</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#roller">Roller</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-roller">Simple Roller</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#styling-the-roller">Styling the roller</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#add-fade-mask-to-roller">add fade mask to roller</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#slider">Slider</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-slider">Simple Slider</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#slider-with-custom-style">Slider with custom style</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#slider-with-extended-drawer">Slider with extended drawer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#span">Span</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#span-with-custom-styles">Span with custom styles</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#spinbox">Spinbox</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-spinbox">Simple Spinbox</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#spinner">Spinner</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-spinner">Simple spinner</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#switch">Switch</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-switch">Simple Switch</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#table">Table</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-table">Simple table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#lightweighted-list-from-table">Lightweighted list from table</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#tabview">Tabview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-tabview">Simple Tabview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#tabs-on-the-left-styling-and-no-scrolling">Tabs on the left, styling and no scrolling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#textarea">Textarea</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-text-area">Simple Text area</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#text-area-with-password-field">Text area with password field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#text-auto-formatting">Text auto-formatting</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#id3">Tabview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#tileview-with-content">Tileview with content</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../examples.html#window">Window</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../examples.html#simple-window">Simple window</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../get-started/index.html">Get started</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/quick-overview.html">Quick overview</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/quick-overview.html#get-started-in-a-simulator">Get started in a simulator</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/quick-overview.html#add-lvgl-into-your-project">Add LVGL into your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/quick-overview.html#learn-the-basics">Learn the basics</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#widgets">Widgets</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#parts">Parts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#states">States</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#styles">Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#themes">Themes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/quick-overview.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#a-button-with-a-label-and-react-on-click-event">A button with a label and react on click event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#create-styles-from-scratch-for-buttons">Create styles from scratch for buttons</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/quick-overview.html#create-a-slider-and-write-its-value-on-a-label">Create a slider and write its value on a label</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/quick-overview.html#micropython">Micropython</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/pc-simulator.html">Simulator on PC</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/pc-simulator.html#select-an-ide">Select an IDE</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/pc-simulator.html#set-up-eclipse-cdt">Set-up Eclipse CDT</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/pc-simulator.html#install-eclipse-cdt">Install Eclipse CDT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/pc-simulator.html#install-sdl-2">Install SDL 2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/pc-simulator.html#pre-configured-project">Pre-configured project</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/pc-simulator.html#add-the-pre-configured-project-to-eclipse-cdt">Add the pre-configured project to Eclipse CDT</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/pc-simulator.html#compile-and-run">Compile and Run</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/stm32.html">STM32</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/nxp.html">NXP</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nxp.html#creating-new-project-with-lvgl">Creating new project with LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nxp.html#adding-hw-acceleration-for-nxp-imx-rt-platforms-using-pxp-pixel-pipeline-engine-for-existing-projects">Adding HW acceleration for NXP iMX RT platforms using PXP (PiXel Pipeline) engine for existing projects</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nxp.html#features-supported">Features supported:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nxp.html#basic-configuration">Basic configuration:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nxp.html#basic-initialization">Basic initialization:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nxp.html#project-setup">Project setup:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nxp.html#advanced-configuration">Advanced configuration:</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/espressif.html">Espressif (ESP32 chip series)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/espressif.html#lvgl-demo-project-for-esp32">LVGL demo project for ESP32</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/espressif.html#using-lvgl-in-your-esp-idf-project">Using LVGL in your ESP-IDF project</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/espressif.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/espressif.html#obtaining-lvgl">Obtaining LVGL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/espressif.html#configuration">Configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/espressif.html#using-lvgl-esp32-drivers-in-esp-idf-project">Using lvgl_esp32_drivers in ESP-IDF project</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/arduino.html">Arduino</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#get-the-lvgl-arduino-library">Get the LVGL Arduino library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#set-up-drivers">Set up drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#configure-lvgl">Configure LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#initialize-and-run-lvgl">Initialize and run LVGL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#use-the-examples-and-demos">Use the examples and demos</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/arduino.html#debugging-and-logging">Debugging and logging</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/micropython.html">Micropython</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/micropython.html#what-is-micropython">What is Micropython?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#highlights-of-micropython">Highlights of Micropython</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/micropython.html#why-micropython-lvgl">Why Micropython + LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#here-are-some-advantages-of-using-lvgl-in-micropython">Here are some advantages of using LVGL in Micropython:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#micropython-lvgl-could-be-used-for">Micropython + LVGL could be used for:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/micropython.html#so-what-does-it-look-like">So what does it look like?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#a-simple-example">A simple example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/micropython.html#how-can-i-use-it">How can I use it?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#online-simulator">Online Simulator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#pc-simulator">PC Simulator</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/micropython.html#embedded-platform">Embedded platform</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/micropython.html#where-can-i-find-more-information">Where can I find more information?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/tasmota-berry.html">Tasmota and berry</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#what-is-tasmota">What is Tasmota?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#what-is-berry">What is Berry?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/tasmota-berry.html#highlights-of-berry">Highlights of Berry</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#why-lvgl-tasmota-berry">Why LVGL + Tasmota + Berry?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/tasmota-berry.html#tasmota-berry-lvgl-could-be-used-for">Tasmota + Berry + LVGL could be used for:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#so-what-does-it-look-like">So what does it look like?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/tasmota-berry.html#a-simple-example">A simple example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#how-can-i-use-it">How can I use it?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/tasmota-berry.html#where-can-i-find-more-information">Where can I find more information?</a><ul>
<li class="toctree-l4"><a class="reference external" href="https://tasmota.github.io/docs/">Tasmota Documentation</a></li>
<li class="toctree-l4"><a class="reference external" href="https://github.com/berry-lang/berry/wiki/Reference">Berry Documentation</a></li>
<li class="toctree-l4"><a class="reference external" href="https://tasmota.github.io/docs/LVGL/">Tasmota LVGL Berry documentation</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/nuttx.html">NuttX RTOS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nuttx.html#what-is-nuttx">What is NuttX?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#highlights-of-nuttx">Highlights of NuttX</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nuttx.html#why-nuttx-lvgl">Why NuttX + LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#here-are-some-advantages-of-using-lvgl-in-nuttx">Here are some advantages of using LVGL in NuttX</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#nuttx-lvgl-could-be-used-for">NuttX + LVGL could be used for</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nuttx.html#how-to-get-started-with-nuttx-and-lvgl">How to get started with NuttX and LVGL?</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#first-you-need-to-install-the-pre-requisites-on-your-system">First you need to install the pre-requisites on your system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#now-let-s-create-a-workspace-to-save-our-files">Now let's create a workspace to save our files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#clone-the-nuttx-and-apps-repositories">Clone the NuttX and Apps repositories:</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#configure-nuttx-to-use-the-stm32f429i-disco-board-and-the-lvgl-demo">Configure NuttX to use the stm32f429i-disco board and the LVGL Demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/nuttx.html#flashing-the-firmware-in-the-board-using-openocd">Flashing the firmware in the board using OpenOCD:</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/nuttx.html#where-can-i-find-more-information">Where can I find more information?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/rt-thread.html">RT-Thread RTOS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/rt-thread.html#what-is-rt-thread">What is RT-Thread?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/rt-thread.html#how-to-run-lvgl-on-rt-thread">How to run LVGL on RT-Thread?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../get-started/cmake.html">CMake</a><ul>
<li class="toctree-l3"><a class="reference external" href="https://docs.espressif.com/projects/esp-idf/en/v3.3/get-started-cmake/index.html">Espressif (ESP32)</a></li>
<li class="toctree-l3"><a class="reference external" href="https://docs.micropython.org/en/v1.15/develop/cmodules.html">MicroPython</a></li>
<li class="toctree-l3"><a class="reference external" href="https://docs.zephyrproject.org/latest/guides/zephyr_cmake_package.html">Zephyr</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cmake.html#prerequisites">Prerequisites</a><ul>
<li class="toctree-l4"><a class="reference external" href="https://www.gnu.org/software/make/">Make</a></li>
<li class="toctree-l4"><a class="reference external" href="https://ninja-build.org/">Ninja</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cmake.html#building-lvgl-with-cmake">Building LVGL with CMake</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../get-started/cmake.html#additional-cmake-options">Additional CMake options</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cmake.html#building-lvgl-examples-with-cmake">Building LVGL examples with CMake</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../get-started/cmake.html#building-lvgl-drivers-and-demos-with-cmake">Building LVGL drivers and demos with CMake</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../porting/index.html">Porting</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../porting/project.html">Set up a project</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/project.html#get-the-library">Get the library</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/project.html#add-lvgl-to-your-project">Add lvgl to your project</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/project.html#automatically-add-files">Automatically add files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/project.html#make-and-cmake">Make and CMake</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/project.html#other-platforms-and-tools">Other platforms and tools</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/project.html#demos-and-examples">Demos and Examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/project.html#configuration-file">Configuration file</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/project.html#initialization">Initialization</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/display.html">Display interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#draw-buffer">Draw buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#buffering-modes">Buffering modes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#one-buffer">One buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#two-buffers">Two buffers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#full-refresh">Full refresh</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#direct-mode">Direct mode</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#display-driver">Display driver</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#mandatory-fields">Mandatory fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#optional-fields">Optional fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/display.html#examples">Examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#rotation">Rotation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#further-reading">Further reading</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/display.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/indev.html">Input device interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/indev.html#types-of-input-devices">Types of input devices</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#touchpad-mouse-or-any-pointer">Touchpad, mouse or any pointer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#keypad-or-keyboard">Keypad or keyboard</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#encoder">Encoder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#button">Button</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/indev.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#parameters">Parameters</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#feedback">Feedback</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#associating-with-a-display">Associating with a display</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/indev.html#buffered-reading">Buffered reading</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/indev.html#further-reading">Further reading</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/indev.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/tick.html">Tick interface</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/tick.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/task-handler.html">Task Handler</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/sleep.html">Sleep management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/os.html">Operating system and interrupts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/os.html#tasks-and-threads">Tasks and threads</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/os.html#interrupts">Interrupts</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/log.html">Logging</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/log.html#log-level">Log level</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/log.html#printing-logs">Printing logs</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/log.html#logging-with-printf">Logging with printf</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/log.html#custom-log-function">Custom log function</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/log.html#add-logs">Add logs</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../porting/gpu.html">Add custom GPU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../porting/gpu.html#draw-context">Draw context</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/gpu.html#fields">Fields</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/gpu.html#initialization">Initialization</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/gpu.html#software-renderer">Software renderer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/gpu.html#blend-callback">Blend callback</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/gpu.html#extend-the-software-renderer">Extend the software renderer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../porting/gpu.html#new-blend-callback">New blend callback</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../porting/gpu.html#new-rectangle-drawer">New rectangle drawer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../porting/gpu.html#fully-custom-draw-engine">Fully custom draw engine</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../overview/index.html">Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../overview/object.html">Objects</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#attributes">Attributes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#basic-attributes">Basic attributes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#specific-attributes">Specific attributes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#working-mechanisms">Working mechanisms</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#parent-child-structure">Parent-child structure</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#moving-together">Moving together</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#visibility-only-on-the-parent">Visibility only on the parent</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#create-and-delete-objects">Create and delete objects</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#screens">Screens</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#create-screens">Create screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#get-the-active-screen">Get the active screen</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#load-screens">Load screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#layers">Layers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/object.html#handling-multiple-displays">Handling multiple displays</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#parts">Parts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#states">States</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/object.html#snapshot">Snapshot</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/coords.html">Positions, sizes, and layouts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#units">Units</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#boxing-model">Boxing model</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#important-notes">Important notes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#position">Position</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#simple-way">Simple way</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#align">Align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#size">Size</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#id1">Simple way</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#using-styles">Using styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#translation">Translation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#transformation">Transformation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#min-and-max-size">Min and Max size</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#layout">Layout</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#id2">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#built-in-layout">Built-in layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#flags">Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/coords.html#adding-new-layouts">Adding new layouts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/coords.html#examples">Examples</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/style.html">Styles</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#states">States</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#cascading-styles">Cascading styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#inheritance">Inheritance</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#parts">Parts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#initialize-styles-and-set-get-properties">Initialize styles and set/get properties</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#add-and-remove-styles-to-a-widget">Add and remove styles to a widget</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#add-styles">Add styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#remove-styles">Remove styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#report-style-changes">Report style changes</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#get-a-property-s-value-on-an-object">Get a property's value on an object</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#local-styles">Local styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#properties">Properties</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#typical-background-properties">Typical background properties</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#transitions">Transitions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#color-filter">Color filter</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#themes">Themes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#extending-themes">Extending themes</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#size-styles">Size styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#background-styles">Background styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#border-styles">Border styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#outline-styles">Outline styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#shadow-styles">Shadow styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#image-styles">Image styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#arc-styles">Arc styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#text-styles">Text styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#line-styles">Line styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#transition">Transition</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#using-multiple-styles">Using multiple styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#id1">Local styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#add-styles-to-parts-and-states">Add styles to parts and states</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style.html#extending-the-current-theme">Extending the current theme</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/style-props.html">Style properties</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#size-and-position">Size and position</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#width">width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#min-width">min_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#max-width">max_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#height">height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#min-height">min_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#max-height">max_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#x">x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#y">y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#align">align</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#transform-width">transform_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#transform-height">transform_height</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#translate-x">translate_x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#translate-y">translate_y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#transform-zoom">transform_zoom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#transform-angle">transform_angle</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#padding">Padding</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-top">pad_top</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-bottom">pad_bottom</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-left">pad_left</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-right">pad_right</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-row">pad_row</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#pad-column">pad_column</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#background">Background</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-color">bg_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-opa">bg_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-grad-color">bg_grad_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-grad-dir">bg_grad_dir</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-main-stop">bg_main_stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-grad-stop">bg_grad_stop</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-grad">bg_grad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-dither-mode">bg_dither_mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-img-src">bg_img_src</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-img-opa">bg_img_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-img-recolor">bg_img_recolor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-img-recolor-opa">bg_img_recolor_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#bg-img-tiled">bg_img_tiled</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#border">Border</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#border-color">border_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#border-opa">border_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#border-width">border_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#border-side">border_side</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#border-post">border_post</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#outline">Outline</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#outline-width">outline_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#outline-color">outline_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#outline-opa">outline_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#outline-pad">outline_pad</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#shadow">Shadow</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-width">shadow_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-ofs-x">shadow_ofs_x</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-ofs-y">shadow_ofs_y</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-spread">shadow_spread</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-color">shadow_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#shadow-opa">shadow_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#image">Image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#img-opa">img_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#img-recolor">img_recolor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#img-recolor-opa">img_recolor_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#line">Line</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-width">line_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-dash-width">line_dash_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-dash-gap">line_dash_gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-rounded">line_rounded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-color">line_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#line-opa">line_opa</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#arc">Arc</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#arc-width">arc_width</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#arc-rounded">arc_rounded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#arc-color">arc_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#arc-opa">arc_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#arc-img-src">arc_img_src</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#text">Text</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-color">text_color</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-opa">text_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-font">text_font</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-letter-space">text_letter_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-line-space">text_line_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-decor">text_decor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#text-align">text_align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/style-props.html#miscellaneous">Miscellaneous</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#radius">radius</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#clip-corner">clip_corner</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#opa">opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#color-filter-dsc">color_filter_dsc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#color-filter-opa">color_filter_opa</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#anim-time">anim_time</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#anim-speed">anim_speed</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#transition">transition</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#blend-mode">blend_mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#layout">layout</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/style-props.html#base-dir">base_dir</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/scroll.html">Scroll</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scrollbar">Scrollbar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#events">Events</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#basic-example">Basic example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#features-of-scrolling">Features of scrolling</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scrollable">Scrollable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scroll-chain">Scroll chain</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scroll-momentum">Scroll momentum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#elastic-scroll">Elastic scroll</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#snapping">Snapping</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scroll-one">Scroll one</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#scroll-on-focus">Scroll on focus</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#scroll-manually">Scroll manually</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#self-size">Self size</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/scroll.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#nested-scrolling">Nested scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#id1">Snapping</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#floating-button">Floating button</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#styling-the-scrollbars">Styling the scrollbars</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#right-to-left-scrolling">Right to left scrolling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/scroll.html#translate-on-scroll">Translate on scroll</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/layer.html">Layers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/layer.html#order-of-creation">Order of creation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/layer.html#bring-to-the-foreground">Bring to the foreground</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/layer.html#top-and-sys-layers">Top and sys layers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/event.html">Events</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#add-events-to-the-object">Add events to the object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#remove-event-s-from-an-object">Remove event(s) from an object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#event-codes">Event codes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#input-device-events">Input device events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#drawing-events">Drawing events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#other-events">Other events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#special-events">Special events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#custom-events">Custom events</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#sending-events">Sending events</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#refresh-event">Refresh event</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#fields-of-lv-event-t">Fields of lv_event_t</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#event-bubbling">Event bubbling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/event.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#button-click-event">Button click event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#handle-multiple-events">Handle multiple events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/event.html#id1">Event bubbling</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/indev.html">Input devices</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/indev.html#pointers">Pointers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#cursor">Cursor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#gestures">Gestures</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/indev.html#keypad-and-encoder">Keypad and encoder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#groups">Groups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#styling">Styling</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/indev.html#api">API</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#input-device">Input device</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/indev.html#id1">Groups</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/display.html">Displays</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/display.html#multiple-display-support">Multiple display support</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#using-only-one-display">Using only one display</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#mirror-display">Mirror display</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#split-image">Split image</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/display.html#screens">Screens</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#transparent-screens">Transparent screens</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/display.html#features-of-displays">Features of displays</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#inactivity">Inactivity</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/display.html#background">Background</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/display.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/color.html">Colors</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/color.html#creating-colors">Creating colors</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#rgb">RGB</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#hsv">HSV</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#palette">Palette</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#modify-and-mix-colors">Modify and mix colors</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#built-in-colors">Built-in colors</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/color.html#opacity">Opacity</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/color.html#color-types">Color types</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/color.html#convert-color">Convert color</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/color.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/font.html">Fonts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#unicode-support">Unicode support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#built-in-fonts">Built-in fonts</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#normal-fonts">Normal fonts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#special-fonts">Special fonts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#special-features">Special features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#bidirectional-support">Bidirectional support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#arabic-and-persian-support">Arabic and Persian support</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#subpixel-rendering">Subpixel rendering</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/font.html#compressed-fonts">Compressed fonts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#add-a-new-font">Add a new font</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#add-new-symbols">Add new symbols</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#load-a-font-at-run-time">Load a font at run-time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#add-a-new-font-engine">Add a new font engine</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/font.html#use-font-fallback">Use font fallback</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/image.html">Images</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#store-images">Store images</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#variables">Variables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#files">Files</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#color-formats">Color formats</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#add-and-use-images">Add and use images</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#online-converter">Online converter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#manually-create-an-image">Manually create an image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#use-images">Use images</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#image-decoder">Image decoder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#custom-image-formats">Custom image formats</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#register-an-image-decoder">Register an image decoder</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#manually-use-an-image-decoder">Manually use an image decoder</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#image-caching">Image caching</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#cache-size">Cache size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#value-of-images">Value of images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#memory-usage">Memory usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#clean-the-cache">Clean the cache</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/image.html#api">API</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/image.html#image-buffer">Image buffer</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/file-system.html">File system</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/file-system.html#ready-to-use-drivers">Ready to use drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/file-system.html#adding-a-driver">Adding a driver</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/file-system.html#registering-a-driver">Registering a driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/file-system.html#implementing-the-callbacks">Implementing the callbacks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/file-system.html#other-callbacks">Other callbacks</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/file-system.html#usage-example">Usage example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/file-system.html#use-drives-for-images">Use drives for images</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/file-system.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/animation.html">Animations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#create-an-animation">Create an animation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#animation-path">Animation path</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#speed-vs-time">Speed vs time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#delete-animations">Delete animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#timeline">Timeline</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#examples">Examples</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/animation.html#start-animation-on-an-event">Start animation on an event</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/animation.html#playback-animation">Playback animation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/animation.html#animation-timeline">Animation timeline</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/animation.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/timer.html">Timers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#create-a-timer">Create a timer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#ready-and-reset">Ready and Reset</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#set-parameters">Set parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#repeat-count">Repeat count</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#measure-idle-time">Measure idle time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#asynchronous-calls">Asynchronous calls</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/timer.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/drawing.html">Drawing</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../overview/drawing.html#mechanism-of-screen-refreshing">Mechanism of screen refreshing</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/drawing.html#masking">Masking</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/drawing.html#using-masks">Using masks</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../overview/drawing.html#hook-drawing">Hook drawing</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../overview/drawing.html#main-drawing">Main drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/drawing.html#post-drawing">Post drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/drawing.html#part-drawing">Part drawing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../overview/drawing.html#others">Others</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../overview/new_widget.html">New widget</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Widgets</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../obj.html">Base object (lv_obj)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../obj.html#overview">Overview</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#coordinates">Coordinates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#parents-and-children">Parents and children</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#display-and-screens">Display and Screens</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#styles">Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#flags">Flags</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#groups">Groups</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#extended-click-area">Extended click area</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../obj.html#id1">Events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../obj.html#keys">Keys</a></li>
<li class="toctree-l3"><a class="reference internal" href="../obj.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#base-objects-with-custom-styles">Base objects with custom styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../obj.html#make-an-object-draggable">Make an object draggable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../obj.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">Core widgets</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="arc.html">Arc (lv_arc)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="arc.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="arc.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="bar.html">Bar (lv_bar)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="bar.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="bar.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="btn.html">Button (lv_btn)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="btn.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="btn.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="btnmatrix.html">Button matrix (lv_btnmatrix)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="btnmatrix.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Canvas (lv_canvas)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="checkbox.html">Checkbox (lv_checkbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="checkbox.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="dropdown.html">Drop-down list (lv_dropdown)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#id1">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="dropdown.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="img.html">Image (lv_img)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="img.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#transformations">Transformations</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="img.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="label.html">Label (lv_label)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="label.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="label.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="line.html">Line (lv_line)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="line.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="line.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="roller.html">Roller (lv_roller)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="roller.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="roller.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="slider.html">Slider (lv_slider)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="slider.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="slider.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="switch.html">Switch (lv_switch)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="switch.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="switch.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="table.html">Table (lv_table)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="table.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="table.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="textarea.html">Text area (lv_textarea)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="textarea.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../extra/index.html">Extra widgets</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../extra/animimg.html">Animation Image (lv_animimg)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/animimg.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/calendar.html">Calendar (lv_calendar)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#headers">Headers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/calendar.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/chart.html">Chart (lv_chart)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/chart.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/colorwheel.html">Color wheel (lv_colorwheel)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/colorwheel.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/imgbtn.html">Image button (lv_imgbtn)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/imgbtn.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/keyboard.html">Keyboard (lv_keyboard)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/keyboard.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/led.html">LED (lv_led)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/led.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/list.html">List (lv_list)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/list.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/menu.html">Menu (lv_menu)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/menu.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/meter.html">Meter (lv_meter)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/meter.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/msgbox.html">Message box (lv_msgbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/msgbox.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/span.html">Span (lv_span)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/span.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/spinbox.html">Spinbox (lv_spinbox)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#api">API</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinbox.html#id1">Example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/spinner.html">Spinner (lv_spinner)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/spinner.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/tabview.html">Tabview (lv_tabview)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tabview.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/tileview.html">Tile view (lv_tileview)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/tileview.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../extra/win.html">Window (lv_win)</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#parts-and-styles">Parts and Styles</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#get-the-parts">Get the parts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#events">Events</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#keys">Keys</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../extra/win.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../layouts/index.html">Layouts</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../layouts/flex.html">Flex</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#terms">Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#simple-interface">Simple interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#flex-flow">Flex flow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#flex-align">Flex align</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#flex-grow">Flex grow</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#style-interface">Style interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#internal-padding">Internal padding</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#rtl">RTL</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#new-track">New track</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#a-simple-row-and-a-column-layout-with-flexbox">A simple row and a column layout with flexbox</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#arrange-items-in-rows-with-wrap-and-even-spacing">Arrange items in rows with wrap and even spacing</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#demonstrate-flex-grow">Demonstrate flex grow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#id1">Demonstrate flex grow.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#demonstrate-column-and-row-gap-style-properties">Demonstrate column and row gap style properties</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/flex.html#rtl-base-direction-changes-order-of-the-items">RTL base direction changes order of the items</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/flex.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../layouts/grid.html">Grid</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#terms">Terms</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#simple-interface">Simple interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#grid-descriptors">Grid descriptors</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#grid-items">Grid items</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#grid-align">Grid align</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#style-interface">Style interface</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#internal-padding">Internal padding</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#other-features">Other features</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#rtl">RTL</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#a-simple-grid">A simple grid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#demonstrate-cell-placement-and-span">Demonstrate cell placement and span</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#demonstrate-grid-s-free-unit">Demonstrate grid's &quot;free unit&quot;</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#demonstrate-track-placement">Demonstrate track placement</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#demonstrate-column-and-row-gap">Demonstrate column and row gap</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../layouts/grid.html#demonstrate-rtl-direction-on-grid">Demonstrate RTL direction on grid</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../layouts/grid.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../libs/index.html">3rd party libraries</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../libs/fsdrv.html">File System Interfaces</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/fsdrv.html#usage">Usage</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/bmp.html">BMP decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/bmp.html#limitations">Limitations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/bmp.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/bmp.html#open-a-bmp-image-from-file">Open a BMP image from file</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/bmp.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/sjpg.html">JPG decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/sjpg.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/sjpg.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/sjpg.html#converter">Converter</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/sjpg.html#converting-jpg-to-c-array">Converting JPG to C array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../libs/sjpg.html#converting-jpg-to-sjpg">Converting JPG to SJPG</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/sjpg.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/sjpg.html#load-an-sjpg-image">Load an SJPG image</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/sjpg.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/png.html">PNG decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/png.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/png.html#open-a-png-image-from-file-and-variable">Open a PNG image from file and variable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/png.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/gif.html">GIF decoder</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/gif.html#convert-gif-files-to-c-array">Convert GIF files to C array</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/gif.html#use-gif-images-from-file">Use GIF images from file</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/gif.html#memory-requirements">Memory requirements</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/gif.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/gif.html#open-a-gif-image-from-file-and-variable">Open a GIF image from file and variable</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/gif.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/freetype.html">FreeType support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#install-freetype">Install FreeType</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#add-freetype-to-your-project">Add FreeType to your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/freetype.html#open-a-front-with-freetype">Open a front with FreeType</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#learn-more">Learn more</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/freetype.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/qrcode.html">QR code</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/qrcode.html#get-started">Get started</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/qrcode.html#notes">Notes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/qrcode.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/qrcode.html#create-a-qr-code">Create a QR Code</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/qrcode.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/rlottie.html">Lottie player</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#build-rlottie">Build Rlottie</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#usage">Usage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/rlottie.html#use-rlottie-from-file">Use Rlottie from file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../libs/rlottie.html#use-rlottie-from-raw-string-data">Use Rlottie from raw string data</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#getting-animations">Getting animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#controlling-animations">Controlling animations</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/rlottie.html#load-a-lottie-animation-from-raw-data">Load a Lottie animation from raw data</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../libs/rlottie.html#load-a-lottie-animation-from-a-file">Load a Lottie animation from a file</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/rlottie.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../libs/ffmpeg.html">FFmpeg support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../libs/ffmpeg.html#install-ffmpeg">Install FFmpeg</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/ffmpeg.html#add-ffmpeg-to-your-project">Add FFmpeg to your project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/ffmpeg.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/ffmpeg.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../libs/ffmpeg.html#decode-image">Decode image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../libs/ffmpeg.html#decode-video">Decode video</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../libs/ffmpeg.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../others/index.html">Others</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../others/snapshot.html">Snapshot</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../others/snapshot.html#usage">Usage</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../others/snapshot.html#free-the-image">Free the Image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../others/snapshot.html#use-existing-buffer">Use Existing Buffer</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../others/snapshot.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../others/snapshot.html#simple-snapshot-example">Simple snapshot example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../others/snapshot.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../others/monkey.html">Monkey</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../others/monkey.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../others/monkey.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../others/monkey.html#touchpad-monkey-example">Touchpad monkey example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../others/monkey.html#encoder-monkey-example">Encoder monkey example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../others/monkey.html#button-monkey-example">Button monkey example</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../others/monkey.html#api">API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../others/gridnav.html">Grid navigation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../others/gridnav.html#usage">Usage</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../others/gridnav.html#focusable-objects">Focusable objects</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../others/gridnav.html#example">Example</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../others/gridnav.html#basic-grid-navigation">Basic grid navigation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../others/gridnav.html#grid-navigation-on-a-list">Grid navigation on a list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../others/gridnav.html#nested-grid-navigations">Nested grid navigations</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../others/gridnav.html#api">API</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../CONTRIBUTING.html">Contributing</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../CONTRIBUTING.html#introduction">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../CONTRIBUTING.html#pull-request">Pull request</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#from-github">From GitHub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#from-command-line">From command line</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#commit-message-format">Commit message format</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CONTRIBUTING.html#developer-certification-of-origin-dco">Developer Certification of Origin (DCO)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#accepted-licenses-and-copyright-notices">Accepted licenses and copyright notices</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../../CONTRIBUTING.html#your-own-work">Your own work</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../CONTRIBUTING.html#use-code-from-online-source">Use code from online source</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../CONTRIBUTING.html#use-mit-licensed-code">Use MIT licensed code</a></li>
<li class="toctree-l4"><a class="reference internal" href="../../CONTRIBUTING.html#use-gpl-licensed-code">Use GPL licensed code</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CONTRIBUTING.html#ways-to-contribute">Ways to contribute</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#give-lvgl-a-star">Give LVGL a Star</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#tell-what-you-have-achieved">Tell what you have achieved</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#write-examples">Write examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#improve-the-docs">Improve the docs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#report-bugs">Report bugs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#send-fixes">Send fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#join-the-conversations-in-the-forum">Join the conversations in the Forum</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#add-features">Add features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#become-a-maintainer">Become a maintainer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CONTRIBUTING.html#move-your-project-repository-under-lvgl-organization">Move your project repository under LVGL organization</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../CHANGELOG.html">Changelog</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v8-1-0-10-november-2021">v8.1.0 10 November 2021</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#overview">Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#breaking-changes">Breaking Changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#architectural">Architectural</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-features">New Features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#performance">Performance</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#fixes">Fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#examples">Examples</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#docs">Docs</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#ci-and-tests">CI and tests</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#others">Others</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v8-0-2-16-07-2021">v8.0.2 (16.07.2021)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v8-0-1-14-06-2021">v8.0.1 (14.06.2021)</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v8-0-0-01-06-2021">v8.0.0 (01.06.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#directory-structure">Directory structure</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#widget-changes">Widget changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-scrolling">New scrolling</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-layouts">New layouts</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#styles">Styles</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#events">Events</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#driver-changes">Driver changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#other-changes">Other changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-release-policy">New release policy</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#migrating-from-v7-to-v8">Migrating from v7 to v8</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-11-0-16-03-2021">v7.11.0 (16.03.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id1">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#bugfixes">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-10-1-16-02-2021">v7.10.1 (16.02.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id2">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-10-0-02-02-2021">v7.10.0 (02.02.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id3">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id4">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-9-1-19-01-2021">v7.9.1 (19.01.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id5">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-9-0-05-01-2021">v7.9.0 (05.01.2021)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id6">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id7">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-8-1-15-12-2020">v7.8.1 (15.12.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id8">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-8-0-01-12-2020">v7.8.0 (01.12.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id9">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id10">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-7-2-17-11-2020">v7.7.2 (17.11.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id11">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-7-1-03-11-2020">v7.7.1 (03.11.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id12">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-7-0-20-10-2020">v7.7.0 (20.10.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id13">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id14">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-6-1-06-10-2020">v7.6.1 (06.10.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id15">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-6-0-22-09-2020">v7.6.0 (22.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id16">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id17">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-5-0-15-09-2020">v7.5.0 (15.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id18">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id19">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-4-0-01-09-2020">v7.4.0 (01.09.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id20">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id21">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-3-1-18-08-2020">v7.3.1 (18.08.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id22">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-3-0-04-08-2020">v7.3.0 (04.08.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id23">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id24">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-2-0-21-07-2020">v7.2.0 (21.07.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id25">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id26">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-1-0-07-07-2020">v7.1.0 (07.07.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id27">New features</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id28">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-0-2-16-06-2020">v7.0.2 (16.06.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id29">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-0-1-01-06-2020">v7.0.1 (01.06.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id30">Bugfixes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../CHANGELOG.html#v7-0-0-18-05-2020">v7.0.0 (18.05.2020)</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#documentation">Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#legal-changes">Legal changes</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-drawing-system">New drawing system</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-style-system">New style system</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#gpu-integration">GPU integration</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#renames">Renames</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#reworked-and-improved-object">Reworked and improved object</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#new-object-types">New object types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id31">Others</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#demos">Demos</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#id32">New release policy</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../CHANGELOG.html#migrating-from-v6-to-v7">Migrating from v6 to v7</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../ROADMAP.html">Roadmap</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../../ROADMAP.html#v8-2">v8.2</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../ROADMAP.html#ideas">Ideas</a></li>
</ul>
</li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../../index.html">LVGL</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          



















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="../index.html">Widgets</a> &raquo;</li>
        
          <li><a href="index.html">Core widgets</a> &raquo;</li>
        
      <li>Canvas (lv_canvas)</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
          
            
              <!-- User defined GitHub URL -->
              <a href="https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/docs/widgets/core/canvas.md" class="fa fa-github"> Edit on GitHub</a>
            
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="canvas-lv-canvas">
<h1>Canvas (lv_canvas)<a class="headerlink" href="#canvas-lv-canvas" title="Permalink to this headline">¶</a></h1>
<div class="section" id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
<p>A Canvas inherits from <a class="reference internal" href="img.html"><span class="doc">Image</span></a> where the user can draw anything.
Rectangles, texts, images, lines, arcs can be drawn here using lvgl's drawing engine.
Additionally &quot;effects&quot; can be applied, such as rotation, zoom and blur.</p>
</div>
<div class="section" id="parts-and-styles">
<h2>Parts and Styles<a class="headerlink" href="#parts-and-styles" title="Permalink to this headline">¶</a></h2>
<p><code class="docutils literal notranslate"><span class="pre">LV_PART_MAIN</span></code> Uses the typical rectangle style properties and image style properties.</p>
</div>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h2>
<div class="section" id="buffer">
<h3>Buffer<a class="headerlink" href="#buffer" title="Permalink to this headline">¶</a></h3>
<p>The Canvas needs a buffer in which stores the drawn image.
To assign a buffer to a Canvas, use <code class="docutils literal notranslate"><span class="pre">lv_canvas_set_buffer(canvas,</span> <span class="pre">buffer,</span> <span class="pre">width,</span> <span class="pre">height,</span> <span class="pre">LV_IMG_CF_...)</span></code>.
Where  <code class="docutils literal notranslate"><span class="pre">buffer</span></code> is a static buffer (not just a local variable) to hold the image of the canvas.
For example,
<code class="docutils literal notranslate"><span class="pre">static</span> <span class="pre">lv_color_t</span> <span class="pre">buffer[LV_CANVAS_BUF_SIZE_TRUE_COLOR(width,</span> <span class="pre">height)]</span></code>.
<code class="docutils literal notranslate"><span class="pre">LV_CANVAS_BUF_SIZE_...</span></code> macros help to determine the size of the buffer with different color formats.</p>
<p>The canvas supports all the built-in color formats like <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_TRUE_COLOR</span></code> or <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED_2BIT</span></code>.
See the full list in the <a class="reference external" href="/overview/image.html#color-formats">Color formats</a> section.</p>
</div>
<div class="section" id="indexed-colors">
<h3>Indexed colors<a class="headerlink" href="#indexed-colors" title="Permalink to this headline">¶</a></h3>
<p>For <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED_1/2/4/8</span></code> color formats a palette needs to be
initialized with  <code class="docutils literal notranslate"><span class="pre">lv_canvas_set_palette(canvas,</span> <span class="pre">3,</span> <span class="pre">LV_COLOR_RED)</span></code>. It sets pixels with <em>index=3</em> to red.</p>
</div>
<div class="section" id="drawing">
<h3>Drawing<a class="headerlink" href="#drawing" title="Permalink to this headline">¶</a></h3>
<p>To set a pixel's color on the canvas, use <code class="docutils literal notranslate"><span class="pre">lv_canvas_set_px_color(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">LV_COLOR_RED)</span></code>.
With <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED_...</span></code>  the index of the color needs to be passed as color.
E.g. <code class="docutils literal notranslate"><span class="pre">lv_color_t</span> <span class="pre">c;</span> <span class="pre">c.full</span> <span class="pre">=</span> <span class="pre">3;</span></code></p>
<p>To set a pixel's opacity with <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_TRUE_COLOR_ALPHA</span></code> or <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_ALPHA_...</span></code> format on the canvas, use <code class="docutils literal notranslate"><span class="pre">lv_canvas_set_px_opa(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">opa)</span></code>.</p>
<p><code class="docutils literal notranslate"><span class="pre">lv_canvas_fill_bg(canvas,</span> <span class="pre">LV_COLOR_BLUE,</span> <span class="pre">LV_OPA_50)</span></code> fills the whole canvas to blue with 50% opacity. Note that if the current color format doesn't support colors (e.g. <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_ALPHA_2BIT</span></code>) the color will be ignored.
Similarly, if opacity is not supported (e.g. <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_TRUE_COLOR</span></code>) it will be ignored.</p>
<p>An array of pixels can be copied to the canvas with <code class="docutils literal notranslate"><span class="pre">lv_canvas_copy_buf(canvas,</span> <span class="pre">buffer_to_copy,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">width,</span> <span class="pre">height)</span></code>.
The color format of the buffer and the canvas need to match.</p>
<p>To draw something to the canvas use</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_rect(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">width,</span> <span class="pre">heigth,</span> <span class="pre">&amp;draw_dsc)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_text(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">max_width,</span> <span class="pre">&amp;draw_dsc,</span> <span class="pre">txt)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_img(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">&amp;img_src,</span> <span class="pre">&amp;draw_dsc)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_line(canvas,</span> <span class="pre">point_array,</span> <span class="pre">point_cnt,</span> <span class="pre">&amp;draw_dsc)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_polygon(canvas,</span> <span class="pre">points_array,</span> <span class="pre">point_cnt,</span> <span class="pre">&amp;draw_dsc)</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">lv_canvas_draw_arc(canvas,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">radius,</span> <span class="pre">start_angle,</span> <span class="pre">end_angle,</span> <span class="pre">&amp;draw_dsc)</span></code></p></li>
</ul>
<p><code class="docutils literal notranslate"><span class="pre">draw_dsc</span></code> is a <code class="docutils literal notranslate"><span class="pre">lv_draw_rect/label/img/line/arc_dsc_t</span></code> variable which should be first initialized with one of <code class="docutils literal notranslate"><span class="pre">lv_draw_rect/label/img/line/arc_dsc_init()</span></code> and then modified with the desired colors and other values.</p>
<p>The draw function can draw to any color format. For example, it's possible to draw a text to an <code class="docutils literal notranslate"><span class="pre">LV_IMG_VF_ALPHA_8BIT</span></code> canvas and use the result image as a <a class="reference internal" href="../../overview/drawing.html"><span class="doc">draw mask</span></a> later.</p>
</div>
<div class="section" id="transformations">
<h3>Transformations<a class="headerlink" href="#transformations" title="Permalink to this headline">¶</a></h3>
<p><code class="docutils literal notranslate"><span class="pre">lv_canvas_transform()</span></code> can be used to rotate and/or scale the image of an image and store the result on the canvas.
The function needs the following parameters:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">canvas</span></code> pointer to a canvas object to store the result of the transformation.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">img</span> <span class="pre">pointer</span></code> to an image descriptor to transform. Can be the image descriptor of another canvas too (<code class="docutils literal notranslate"><span class="pre">lv_canvas_get_img()</span></code>).</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">angle</span></code> the angle of rotation (0..3600), 0.1 deg resolution</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">zoom</span></code> zoom factor (256: no zoom, 512: double size, 128: half size);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">offset_x</span></code> offset X to tell where to put the result data on destination canvas</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">offset_y</span></code> offset X to tell where to put the result data on destination canvas</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">pivot_x</span></code> pivot X of rotation. Relative to the source canvas. Set to <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">width</span> <span class="pre">/</span> <span class="pre">2</span></code> to rotate around the center</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">pivot_y</span></code> pivot Y of rotation. Relative to the source canvas. Set to <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">height</span> <span class="pre">/</span> <span class="pre">2</span></code> to rotate around the center</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">antialias</span></code> true: apply anti-aliasing during the transformation. Looks better but slower.</p></li>
</ul>
<p>Note that a canvas can't be rotated on itself.  You need a source and destination canvas or image.</p>
</div>
<div class="section" id="blur">
<h3>Blur<a class="headerlink" href="#blur" title="Permalink to this headline">¶</a></h3>
<p>A given area of the canvas can be blurred horizontally with <code class="docutils literal notranslate"><span class="pre">lv_canvas_blur_hor(canvas,</span> <span class="pre">&amp;area,</span> <span class="pre">r)</span></code> or vertically with <code class="docutils literal notranslate"><span class="pre">lv_canvas_blur_ver(canvas,</span> <span class="pre">&amp;area,</span> <span class="pre">r)</span></code>.
<code class="docutils literal notranslate"><span class="pre">r</span></code> is the radius of the blur (greater value means more intensive burring). <code class="docutils literal notranslate"><span class="pre">area</span></code> is the area where the blur should be applied (interpreted relative to the canvas).</p>
</div>
</div>
<div class="section" id="events">
<h2>Events<a class="headerlink" href="#events" title="Permalink to this headline">¶</a></h2>
<p>No special events are sent by canvas objects.
The same events are sent as for the</p>
<p>See the events of the <a class="reference internal" href="img.html"><span class="doc">Images</span></a> too.</p>
<p>Learn more about <a class="reference internal" href="../../overview/event.html"><span class="doc">Events</span></a>.</p>
</div>
<div class="section" id="keys">
<h2>Keys<a class="headerlink" href="#keys" title="Permalink to this headline">¶</a></h2>
<p>No <em>Keys</em> are processed by the object type.</p>
<p>Learn more about <a class="reference internal" href="../../overview/indev.html"><span class="doc">Keys</span></a>.</p>
</div>
<div class="section" id="example">
<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
<div class="section" id="drawing-on-the-canvas-and-rotate">
<h3>Drawing on the Canvas and rotate<a class="headerlink" href="#drawing-on-the-canvas-and-rotate" title="Permalink to this headline">¶</a></h3>
<div class='lv-example-container'><div class='lv-example' data-real-src='/8.1/_static/built_lv_examples/index.html?example=lv_example_canvas_1&w=320&h=240'></div><div class='lv-example-description'></div></div><div class="toggle docutils container">
<div class="header docutils container">
<p>C code &nbsp;</p><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_1.c'><i class="fa fa-github"></i>&nbsp;GitHub</a></div>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&quot;../../lv_examples.h&quot;</span><span class="cp"></span>
<span class="cp">#if LV_USE_CANVAS &amp;&amp; LV_BUILD_EXAMPLES</span>


<span class="cp">#define CANVAS_WIDTH  200</span>
<span class="cp">#define CANVAS_HEIGHT  150</span>

<span class="kt">void</span> <span class="nf">lv_example_canvas_1</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
    <span class="n">lv_draw_rect_dsc_t</span> <span class="n">rect_dsc</span><span class="p">;</span>
    <span class="n">lv_draw_rect_dsc_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">rect_dsc</span><span class="p">);</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">radius</span> <span class="o">=</span> <span class="mi">10</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">bg_opa</span> <span class="o">=</span> <span class="n">LV_OPA_COVER</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">bg_grad</span><span class="p">.</span><span class="n">dir</span> <span class="o">=</span> <span class="n">LV_GRAD_DIR_HOR</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">bg_grad</span><span class="p">.</span><span class="n">stops</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv_palette_main</span><span class="p">(</span><span class="n">LV_PALETTE_RED</span><span class="p">);</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">bg_grad</span><span class="p">.</span><span class="n">stops</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv_palette_main</span><span class="p">(</span><span class="n">LV_PALETTE_BLUE</span><span class="p">);</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">border_width</span> <span class="o">=</span> <span class="mi">2</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">border_opa</span> <span class="o">=</span> <span class="n">LV_OPA_90</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">border_color</span> <span class="o">=</span> <span class="n">lv_color_white</span><span class="p">();</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">shadow_width</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">shadow_ofs_x</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>
    <span class="n">rect_dsc</span><span class="p">.</span><span class="n">shadow_ofs_y</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span>

    <span class="n">lv_draw_label_dsc_t</span> <span class="n">label_dsc</span><span class="p">;</span>
    <span class="n">lv_draw_label_dsc_init</span><span class="p">(</span><span class="o">&amp;</span><span class="n">label_dsc</span><span class="p">);</span>
    <span class="n">label_dsc</span><span class="p">.</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv_palette_main</span><span class="p">(</span><span class="n">LV_PALETTE_ORANGE</span><span class="p">);</span>

    <span class="k">static</span> <span class="n">lv_color_t</span> <span class="n">cbuf</span><span class="p">[</span><span class="n">LV_CANVAS_BUF_SIZE_TRUE_COLOR</span><span class="p">(</span><span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">)];</span>

    <span class="n">lv_obj_t</span> <span class="o">*</span> <span class="n">canvas</span> <span class="o">=</span> <span class="n">lv_canvas_create</span><span class="p">(</span><span class="n">lv_scr_act</span><span class="p">());</span>
    <span class="n">lv_canvas_set_buffer</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">cbuf</span><span class="p">,</span> <span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">,</span> <span class="n">LV_IMG_CF_TRUE_COLOR</span><span class="p">);</span>
    <span class="n">lv_obj_center</span><span class="p">(</span><span class="n">canvas</span><span class="p">);</span>
    <span class="n">lv_canvas_fill_bg</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">lv_palette_lighten</span><span class="p">(</span><span class="n">LV_PALETTE_GREY</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">LV_OPA_COVER</span><span class="p">);</span>

    <span class="n">lv_canvas_draw_rect</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="mi">70</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">70</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">rect_dsc</span><span class="p">);</span>

    <span class="n">lv_canvas_draw_text</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">label_dsc</span><span class="p">,</span> <span class="s">&quot;Some text on text canvas&quot;</span><span class="p">);</span>

    <span class="cm">/*Test the rotation. It requires another buffer where the original image is stored.</span>
<span class="cm">     *So copy the current image to buffer and rotate it to the canvas*/</span>
    <span class="k">static</span> <span class="n">lv_color_t</span> <span class="n">cbuf_tmp</span><span class="p">[</span><span class="n">CANVAS_WIDTH</span> <span class="o">*</span> <span class="n">CANVAS_HEIGHT</span><span class="p">];</span>
    <span class="n">memcpy</span><span class="p">(</span><span class="n">cbuf_tmp</span><span class="p">,</span> <span class="n">cbuf</span><span class="p">,</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">cbuf_tmp</span><span class="p">));</span>
    <span class="n">lv_img_dsc_t</span> <span class="n">img</span><span class="p">;</span>
    <span class="n">img</span><span class="p">.</span><span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="kt">void</span> <span class="o">*</span><span class="p">)</span><span class="n">cbuf_tmp</span><span class="p">;</span>
    <span class="n">img</span><span class="p">.</span><span class="n">header</span><span class="p">.</span><span class="n">cf</span> <span class="o">=</span> <span class="n">LV_IMG_CF_TRUE_COLOR</span><span class="p">;</span>
    <span class="n">img</span><span class="p">.</span><span class="n">header</span><span class="p">.</span><span class="n">w</span> <span class="o">=</span> <span class="n">CANVAS_WIDTH</span><span class="p">;</span>
    <span class="n">img</span><span class="p">.</span><span class="n">header</span><span class="p">.</span><span class="n">h</span> <span class="o">=</span> <span class="n">CANVAS_HEIGHT</span><span class="p">;</span>

    <span class="n">lv_canvas_fill_bg</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">lv_palette_lighten</span><span class="p">(</span><span class="n">LV_PALETTE_GREY</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">LV_OPA_COVER</span><span class="p">);</span>
    <span class="n">lv_canvas_transform</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="o">&amp;</span><span class="n">img</span><span class="p">,</span> <span class="mi">120</span><span class="p">,</span> <span class="n">LV_IMG_ZOOM_NONE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">CANVAS_WIDTH</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span> <span class="o">/</span> <span class="mi">2</span><span class="p">,</span> <span class="nb">true</span><span class="p">);</span>
<span class="p">}</span>

<span class="cp">#endif</span>
</pre></div>
</div>
</div>
<div class="toggle docutils container">
<div class="header docutils container">
<p>MicroPython code &nbsp;</p><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_1.py'><i class="fa fa-github"></i>&nbsp;GitHub</a><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://sim.lvgl.io/v8.1/micropython/ports/javascript/index.html?script_startup=https://raw.githubusercontent.com/lvgl/lvgl/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/header.py&script=https://raw.githubusercontent.com/lvgl/lvgl/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_1.py'><i class="fa fa-play"></i>&nbsp;Simulator</a></div>
<div class="highlight-py notranslate"><div class="highlight"><pre><span></span><span class="n">_CANVAS_WIDTH</span> <span class="o">=</span> <span class="mi">200</span>
<span class="n">_CANVAS_HEIGHT</span> <span class="o">=</span> <span class="mi">150</span>
<span class="n">LV_IMG_ZOOM_NONE</span> <span class="o">=</span> <span class="mi">256</span>

<span class="n">rect_dsc</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">draw_rect_dsc_t</span><span class="p">()</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">init</span><span class="p">()</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">radius</span> <span class="o">=</span> <span class="mi">10</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">bg_opa</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">OPA</span><span class="o">.</span><span class="n">COVER</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">bg_grad</span><span class="o">.</span><span class="n">dir</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">GRAD_DIR</span><span class="o">.</span><span class="n">HOR</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">bg_grad</span><span class="o">.</span><span class="n">stops</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">palette_main</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">RED</span><span class="p">)</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">bg_grad</span><span class="o">.</span><span class="n">stops</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">palette_main</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">BLUE</span><span class="p">)</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">border_width</span> <span class="o">=</span> <span class="mi">2</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">border_opa</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">OPA</span><span class="o">.</span><span class="n">_90</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">border_color</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">color_white</span><span class="p">()</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">shadow_width</span> <span class="o">=</span> <span class="mi">5</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">shadow_ofs_x</span> <span class="o">=</span> <span class="mi">5</span>
<span class="n">rect_dsc</span><span class="o">.</span><span class="n">shadow_ofs_y</span> <span class="o">=</span> <span class="mi">5</span>

<span class="n">label_dsc</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">draw_label_dsc_t</span><span class="p">()</span>
<span class="n">label_dsc</span><span class="o">.</span><span class="n">init</span><span class="p">()</span>
<span class="n">label_dsc</span><span class="o">.</span><span class="n">color</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">palette_main</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">YELLOW</span><span class="p">)</span>

<span class="n">cbuf</span> <span class="o">=</span> <span class="nb">bytearray</span><span class="p">(</span><span class="n">_CANVAS_WIDTH</span> <span class="o">*</span> <span class="n">_CANVAS_HEIGHT</span> <span class="o">*</span> <span class="mi">4</span><span class="p">)</span>

<span class="n">canvas</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">canvas</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">scr_act</span><span class="p">())</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">set_buffer</span><span class="p">(</span><span class="n">cbuf</span><span class="p">,</span> <span class="n">_CANVAS_WIDTH</span><span class="p">,</span> <span class="n">_CANVAS_HEIGHT</span><span class="p">,</span> <span class="n">lv</span><span class="o">.</span><span class="n">img</span><span class="o">.</span><span class="n">CF</span><span class="o">.</span><span class="n">TRUE_COLOR</span><span class="p">)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">center</span><span class="p">()</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">fill_bg</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">palette_lighten</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">GREY</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">lv</span><span class="o">.</span><span class="n">OPA</span><span class="o">.</span><span class="n">COVER</span><span class="p">)</span>

<span class="n">canvas</span><span class="o">.</span><span class="n">draw_rect</span><span class="p">(</span><span class="mi">70</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">70</span><span class="p">,</span> <span class="n">rect_dsc</span><span class="p">)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">draw_text</span><span class="p">(</span><span class="mi">40</span><span class="p">,</span> <span class="mi">20</span><span class="p">,</span> <span class="mi">100</span><span class="p">,</span> <span class="n">label_dsc</span><span class="p">,</span> <span class="s2">&quot;Some text on text canvas&quot;</span><span class="p">)</span>

<span class="c1"># Test the rotation. It requires another buffer where the original image is stored.</span>
<span class="c1"># So copy the current image to buffer and rotate it to the canvas</span>

<span class="n">img</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">img_dsc_t</span><span class="p">()</span>
<span class="n">img</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">cbuf</span><span class="p">[:]</span>
<span class="n">img</span><span class="o">.</span><span class="n">header</span><span class="o">.</span><span class="n">cf</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">img</span><span class="o">.</span><span class="n">CF</span><span class="o">.</span><span class="n">TRUE_COLOR</span>
<span class="n">img</span><span class="o">.</span><span class="n">header</span><span class="o">.</span><span class="n">w</span> <span class="o">=</span> <span class="n">_CANVAS_WIDTH</span>
<span class="n">img</span><span class="o">.</span><span class="n">header</span><span class="o">.</span><span class="n">h</span> <span class="o">=</span> <span class="n">_CANVAS_HEIGHT</span>

<span class="n">canvas</span><span class="o">.</span><span class="n">fill_bg</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">palette_lighten</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">GREY</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">lv</span><span class="o">.</span><span class="n">OPA</span><span class="o">.</span><span class="n">COVER</span><span class="p">)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">transform</span><span class="p">(</span><span class="n">img</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="n">LV_IMG_ZOOM_NONE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">_CANVAS_WIDTH</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="n">_CANVAS_HEIGHT</span> <span class="o">//</span> <span class="mi">2</span><span class="p">,</span> <span class="kc">True</span><span class="p">)</span>
</pre></div>
</div>
</div>
<hr/></div>
<div class="section" id="transparent-canvas-with-chroma-keying">
<h3>Transparent Canvas with chroma keying<a class="headerlink" href="#transparent-canvas-with-chroma-keying" title="Permalink to this headline">¶</a></h3>
<div class='lv-example-container'><div class='lv-example' data-real-src='/8.1/_static/built_lv_examples/index.html?example=lv_example_canvas_2&w=320&h=240'></div><div class='lv-example-description'></div></div><div class="toggle docutils container">
<div class="header docutils container">
<p>C code &nbsp;</p><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_2.c'><i class="fa fa-github"></i>&nbsp;GitHub</a></div>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&quot;../../lv_examples.h&quot;</span><span class="cp"></span>
<span class="cp">#if LV_USE_CANVAS &amp;&amp; LV_BUILD_EXAMPLES</span>

<span class="cp">#define CANVAS_WIDTH  50</span>
<span class="cp">#define CANVAS_HEIGHT  50</span>

<span class="cm">/**</span>
<span class="cm"> * Create a transparent canvas with Chroma keying and indexed color format (palette).</span>
<span class="cm"> */</span>
<span class="kt">void</span> <span class="nf">lv_example_canvas_2</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="p">{</span>
    <span class="cm">/*Create a button to better see the transparency*/</span>
    <span class="n">lv_btn_create</span><span class="p">(</span><span class="n">lv_scr_act</span><span class="p">());</span>

    <span class="cm">/*Create a buffer for the canvas*/</span>
    <span class="k">static</span> <span class="n">lv_color_t</span> <span class="n">cbuf</span><span class="p">[</span><span class="n">LV_CANVAS_BUF_SIZE_INDEXED_1BIT</span><span class="p">(</span><span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">)];</span>

    <span class="cm">/*Create a canvas and initialize its palette*/</span>
    <span class="n">lv_obj_t</span> <span class="o">*</span> <span class="n">canvas</span> <span class="o">=</span> <span class="n">lv_canvas_create</span><span class="p">(</span><span class="n">lv_scr_act</span><span class="p">());</span>
    <span class="n">lv_canvas_set_buffer</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">cbuf</span><span class="p">,</span> <span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">,</span> <span class="n">LV_IMG_CF_INDEXED_1BIT</span><span class="p">);</span>
    <span class="n">lv_canvas_set_palette</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">LV_COLOR_CHROMA_KEY</span><span class="p">);</span>
    <span class="n">lv_canvas_set_palette</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">lv_palette_main</span><span class="p">(</span><span class="n">LV_PALETTE_RED</span><span class="p">));</span>

    <span class="cm">/*Create colors with the indices of the palette*/</span>
    <span class="n">lv_color_t</span> <span class="n">c0</span><span class="p">;</span>
    <span class="n">lv_color_t</span> <span class="n">c1</span><span class="p">;</span>

    <span class="n">c0</span><span class="p">.</span><span class="n">full</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
    <span class="n">c1</span><span class="p">.</span><span class="n">full</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>

    <span class="cm">/*Red background (There is no dedicated alpha channel in indexed images so LV_OPA_COVER is ignored)*/</span>
    <span class="n">lv_canvas_fill_bg</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">c1</span><span class="p">,</span> <span class="n">LV_OPA_COVER</span><span class="p">);</span>

    <span class="cm">/*Create hole on the canvas*/</span>
    <span class="kt">uint32_t</span> <span class="n">x</span><span class="p">;</span>
    <span class="kt">uint32_t</span> <span class="n">y</span><span class="p">;</span>
    <span class="k">for</span><span class="p">(</span> <span class="n">y</span> <span class="o">=</span> <span class="mi">10</span><span class="p">;</span> <span class="n">y</span> <span class="o">&lt;</span> <span class="mi">30</span><span class="p">;</span> <span class="n">y</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">for</span><span class="p">(</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">5</span><span class="p">;</span> <span class="n">x</span> <span class="o">&lt;</span> <span class="mi">20</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">)</span> <span class="p">{</span>
            <span class="n">lv_canvas_set_px_color</span><span class="p">(</span><span class="n">canvas</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">c0</span><span class="p">);</span>
        <span class="p">}</span>
    <span class="p">}</span>

<span class="p">}</span>
<span class="cp">#endif</span>
</pre></div>
</div>
</div>
<div class="toggle docutils container">
<div class="header docutils container">
<p>MicroPython code &nbsp;</p><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://github.com/lvgl/lvgl/blob/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_2.py'><i class="fa fa-github"></i>&nbsp;GitHub</a><a class='lv-example-link-button' onclick="event.stopPropagation();" href='https://sim.lvgl.io/v8.1/micropython/ports/javascript/index.html?script_startup=https://raw.githubusercontent.com/lvgl/lvgl/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/header.py&script=https://raw.githubusercontent.com/lvgl/lvgl/d851fe0528fcb920fee86c944fe9dbbaf6fbb0c9/examples/widgets/canvas/lv_example_canvas_2.py'><i class="fa fa-play"></i>&nbsp;Simulator</a></div>
<div class="highlight-py notranslate"><div class="highlight"><pre><span></span><span class="n">CANVAS_WIDTH</span>   <span class="o">=</span> <span class="mi">50</span>
<span class="n">CANVAS_HEIGHT</span>  <span class="o">=</span> <span class="mi">50</span>
<span class="n">LV_COLOR_CHROMA_KEY</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">color_hex</span><span class="p">(</span><span class="mh">0x00ff00</span><span class="p">)</span> 

<span class="k">def</span> <span class="nf">LV_IMG_BUF_SIZE_ALPHA_1BIT</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">):</span>
    <span class="k">return</span> <span class="nb">int</span><span class="p">(((</span><span class="n">w</span> <span class="o">/</span> <span class="mi">8</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o">*</span> <span class="n">h</span><span class="p">)</span>

<span class="k">def</span> <span class="nf">LV_IMG_BUF_SIZE_INDEXED_1BIT</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">):</span>
    <span class="k">return</span> <span class="n">LV_IMG_BUF_SIZE_ALPHA_1BIT</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">)</span> <span class="o">+</span> <span class="mi">4</span> <span class="o">*</span> <span class="mi">2</span>

<span class="k">def</span> <span class="nf">LV_CANVAS_BUF_SIZE_INDEXED_1BIT</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">):</span>
    <span class="k">return</span> <span class="n">LV_IMG_BUF_SIZE_INDEXED_1BIT</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">)</span>

<span class="c1">#</span>
<span class="c1"># Create a transparent canvas with Chroma keying and indexed color format (palette).</span>
<span class="c1"># </span>

<span class="c1"># Create a button to better see the transparency</span>
<span class="n">btn</span><span class="o">=</span><span class="n">lv</span><span class="o">.</span><span class="n">btn</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">scr_act</span><span class="p">())</span>

<span class="c1"># Create a buffer for the canvas</span>
<span class="n">cbuf</span><span class="o">=</span> <span class="nb">bytearray</span><span class="p">(</span><span class="n">LV_CANVAS_BUF_SIZE_INDEXED_1BIT</span><span class="p">(</span><span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">))</span>

<span class="c1"># Create a canvas and initialize its palette</span>
<span class="n">canvas</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">canvas</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">scr_act</span><span class="p">())</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">set_buffer</span><span class="p">(</span><span class="n">cbuf</span><span class="p">,</span> <span class="n">CANVAS_WIDTH</span><span class="p">,</span> <span class="n">CANVAS_HEIGHT</span><span class="p">,</span> <span class="n">lv</span><span class="o">.</span><span class="n">img</span><span class="o">.</span><span class="n">CF</span><span class="o">.</span><span class="n">INDEXED_1BIT</span><span class="p">)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">set_palette</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">LV_COLOR_CHROMA_KEY</span><span class="p">)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">set_palette</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">lv</span><span class="o">.</span><span class="n">palette_main</span><span class="p">(</span><span class="n">lv</span><span class="o">.</span><span class="n">PALETTE</span><span class="o">.</span><span class="n">RED</span><span class="p">))</span>

<span class="c1"># Create colors with the indices of the palette</span>
<span class="n">c0</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">color_t</span><span class="p">()</span>
<span class="n">c1</span> <span class="o">=</span> <span class="n">lv</span><span class="o">.</span><span class="n">color_t</span><span class="p">()</span>

<span class="n">c0</span><span class="o">.</span><span class="n">full</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">c1</span><span class="o">.</span><span class="n">full</span> <span class="o">=</span> <span class="mi">1</span>

<span class="c1"># Red background (There is no dedicated alpha channel in indexed images so LV_OPA_COVER is ignored)</span>
<span class="n">canvas</span><span class="o">.</span><span class="n">fill_bg</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span> <span class="n">lv</span><span class="o">.</span><span class="n">OPA</span><span class="o">.</span><span class="n">COVER</span><span class="p">)</span>

<span class="c1"># Create hole on the canvas</span>
<span class="k">for</span> <span class="n">y</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">30</span><span class="p">):</span>
    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">20</span><span class="p">):</span>
        <span class="n">canvas</span><span class="o">.</span><span class="n">set_px</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">c0</span><span class="p">)</span>
</pre></div>
</div>
</div>
<hr/></div>
</div>
<div class="section" id="api">
<h2>API<a class="headerlink" href="#api" title="Permalink to this headline">¶</a></h2>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-functions">Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416lv_canvas_createP8lv_obj_t">
<span id="_CPPv316lv_canvas_createP8lv_obj_t"></span><span id="_CPPv216lv_canvas_createP8lv_obj_t"></span><span id="lv_canvas_create__lv_obj_tP"></span><span class="target" id="lv__canvas_8h_1a400667d33b0dae8335f2b17722df88d3"></span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_create</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">parent</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv416lv_canvas_createP8lv_obj_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Create a canvas object </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>parent</strong> -- pointer to an object, it will be the parent of the new canvas </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>pointer to the created canvas </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_canvas_set_bufferP8lv_obj_tPv10lv_coord_t10lv_coord_t11lv_img_cf_t">
<span id="_CPPv320lv_canvas_set_bufferP8lv_obj_tPv10lv_coord_t10lv_coord_t11lv_img_cf_t"></span><span id="_CPPv220lv_canvas_set_bufferP8lv_obj_tPv10lv_coord_t10lv_coord_t11lv_img_cf_t"></span><span id="lv_canvas_set_buffer__lv_obj_tP.voidP.lv_coord_t.lv_coord_t.lv_img_cf_t"></span><span class="target" id="lv__canvas_8h_1a65cfb1d41e6908f15f7463dfb3980cec"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_set_buffer</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">buf</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">w</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">h</span></span>, <a class="reference internal" href="../../overview/image.html#_CPPv411lv_img_cf_t" title="lv_img_cf_t"><span class="n"><span class="pre">lv_img_cf_t</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">cf</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_canvas_set_bufferP8lv_obj_tPv10lv_coord_t10lv_coord_t11lv_img_cf_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set a buffer for the canvas. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>buf</strong> -- a buffer where the content of the canvas will be. The required size is (lv_img_color_format_get_px_size(cf) * w) / 8 * h) It can be allocated with <code class="docutils literal notranslate"><span class="pre">lv_mem_alloc()</span></code> or it can be statically allocated array (e.g. static lv_color_t buf[100*50]) or it can be an address in RAM or external SRAM </p></li>
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>w</strong> -- width of the canvas </p></li>
<li><p><strong>h</strong> -- height of the canvas </p></li>
<li><p><strong>cf</strong> -- color format. <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_...</span></code> </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv422lv_canvas_set_px_colorP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t">
<span id="_CPPv322lv_canvas_set_px_colorP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t"></span><span id="_CPPv222lv_canvas_set_px_colorP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t"></span><span id="lv_canvas_set_px_color__lv_obj_tP.lv_coord_t.lv_coord_t.lv_color_t"></span><span class="target" id="lv__canvas_8h_1a423dd927adf684c9d308678136f4f2de"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_set_px_color</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">c</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv422lv_canvas_set_px_colorP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set the color of a pixel on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- </p></li>
<li><p><strong>x</strong> -- x coordinate of the point to set </p></li>
<li><p><strong>y</strong> -- x coordinate of the point to set </p></li>
<li><p><strong>c</strong> -- color of the pixel </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416lv_canvas_set_pxP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t">
<span id="_CPPv316lv_canvas_set_pxP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t"></span><span id="_CPPv216lv_canvas_set_pxP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t"></span><span id="lv_canvas_set_px__lv_obj_tP.lv_coord_t.lv_coord_t.lv_color_t"></span><span class="target" id="lv__canvas_8h_1ab64bde81ac0b7204132de02151c6666e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_set_px</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">c</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv416lv_canvas_set_pxP8lv_obj_t10lv_coord_t10lv_coord_t10lv_color_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>DEPRECATED: added only for backward compatibility </p>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv420lv_canvas_set_px_opaP8lv_obj_t10lv_coord_t10lv_coord_t8lv_opa_t">
<span id="_CPPv320lv_canvas_set_px_opaP8lv_obj_t10lv_coord_t10lv_coord_t8lv_opa_t"></span><span id="_CPPv220lv_canvas_set_px_opaP8lv_obj_t10lv_coord_t10lv_coord_t8lv_opa_t"></span><span id="lv_canvas_set_px_opa__lv_obj_tP.lv_coord_t.lv_coord_t.lv_opa_t"></span><span class="target" id="lv__canvas_8h_1ae06d6a79d91242c1083de2534f9668ca"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_set_px_opa</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_opa_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">opa</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420lv_canvas_set_px_opaP8lv_obj_t10lv_coord_t10lv_coord_t8lv_opa_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set the opacity of a pixel on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- </p></li>
<li><p><strong>x</strong> -- x coordinate of the point to set </p></li>
<li><p><strong>y</strong> -- x coordinate of the point to set </p></li>
<li><p><strong>opa</strong> -- opacity of the pixel (0..255) </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv421lv_canvas_set_paletteP8lv_obj_t7uint8_t10lv_color_t">
<span id="_CPPv321lv_canvas_set_paletteP8lv_obj_t7uint8_t10lv_color_t"></span><span id="_CPPv221lv_canvas_set_paletteP8lv_obj_t7uint8_t10lv_color_t"></span><span id="lv_canvas_set_palette__lv_obj_tP.uint8_t.lv_color_t"></span><span class="target" id="lv__canvas_8h_1a3a4b96429bd0b14aa00cee3dacb45a02"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_set_palette</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">id</span></span>, <span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">c</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv421lv_canvas_set_paletteP8lv_obj_t7uint8_t10lv_color_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Set the palette color of a canvas with index format. Valid only for <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED1/2/4/8</span></code> </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to canvas object </p></li>
<li><p><strong>id</strong> -- the palette color to set:<ul>
<li><p>for <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED1</span></code>: 0..1</p></li>
<li><p>for <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED2</span></code>: 0..3</p></li>
<li><p>for <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED4</span></code>: 0..15</p></li>
<li><p>for <code class="docutils literal notranslate"><span class="pre">LV_IMG_CF_INDEXED8</span></code>: 0..255 </p></li>
</ul>
</p></li>
<li><p><strong>c</strong> -- the color to set </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv416lv_canvas_get_pxP8lv_obj_t10lv_coord_t10lv_coord_t">
<span id="_CPPv316lv_canvas_get_pxP8lv_obj_t10lv_coord_t10lv_coord_t"></span><span id="_CPPv216lv_canvas_get_pxP8lv_obj_t10lv_coord_t10lv_coord_t"></span><span id="lv_canvas_get_px__lv_obj_tP.lv_coord_t.lv_coord_t"></span><span class="target" id="lv__canvas_8h_1a239cd4f0a242aff85570021edf6e40e8"></span><span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_get_px</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv416lv_canvas_get_pxP8lv_obj_t10lv_coord_t10lv_coord_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the color of a pixel on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- </p></li>
<li><p><strong>x</strong> -- x coordinate of the point to set </p></li>
<li><p><strong>y</strong> -- x coordinate of the point to set </p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>color of the point </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv417lv_canvas_get_imgP8lv_obj_t">
<span id="_CPPv317lv_canvas_get_imgP8lv_obj_t"></span><span id="_CPPv217lv_canvas_get_imgP8lv_obj_t"></span><span id="lv_canvas_get_img__lv_obj_tP"></span><span class="target" id="lv__canvas_8h_1ab88808b96446336d7c25436d4e7c8d75"></span><a class="reference internal" href="../../overview/image.html#_CPPv412lv_img_dsc_t" title="lv_img_dsc_t"><span class="n"><span class="pre">lv_img_dsc_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_get_img</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417lv_canvas_get_imgP8lv_obj_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Get the image of the canvas as a pointer to an <code class="docutils literal notranslate"><a class="reference internal" href="../../overview/image.html#structlv__img__dsc__t"><span class="std std-ref"><span class="pre">lv_img_dsc_t</span></span></a></code> variable. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>canvas</strong> -- pointer to a canvas object </p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>pointer to the image descriptor. </p>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_canvas_copy_bufP8lv_obj_tPKv10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_t">
<span id="_CPPv318lv_canvas_copy_bufP8lv_obj_tPKv10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_t"></span><span id="_CPPv218lv_canvas_copy_bufP8lv_obj_tPKv10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_t"></span><span id="lv_canvas_copy_buf__lv_obj_tP.voidCP.lv_coord_t.lv_coord_t.lv_coord_t.lv_coord_t"></span><span class="target" id="lv__canvas_8h_1a5b23403e36dffc964c9a6225467106af"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_copy_buf</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">to_copy</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">w</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">h</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_canvas_copy_bufP8lv_obj_tPKv10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Copy a buffer to the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>to_copy</strong> -- buffer to copy. The color format has to match with the canvas's buffer color format </p></li>
<li><p><strong>x</strong> -- left side of the destination position </p></li>
<li><p><strong>y</strong> -- top side of the destination position </p></li>
<li><p><strong>w</strong> -- width of the buffer to copy </p></li>
<li><p><strong>h</strong> -- height of the buffer to copy </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_canvas_transformP8lv_obj_tP12lv_img_dsc_t7int16_t8uint16_t10lv_coord_t10lv_coord_t7int32_t7int32_tb">
<span id="_CPPv319lv_canvas_transformP8lv_obj_tP12lv_img_dsc_t7int16_t8uint16_t10lv_coord_t10lv_coord_t7int32_t7int32_tb"></span><span id="_CPPv219lv_canvas_transformP8lv_obj_tP12lv_img_dsc_t7int16_t8uint16_t10lv_coord_t10lv_coord_t7int32_t7int32_tb"></span><span id="lv_canvas_transform__lv_obj_tP.lv_img_dsc_tP.int16_t.uint16_t.lv_coord_t.lv_coord_t.int32_t.int32_t.b"></span><span class="target" id="lv__canvas_8h_1a5dd04a2ac880d07ea124c15da8f0299e"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_transform</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <a class="reference internal" href="../../overview/image.html#_CPPv412lv_img_dsc_t" title="lv_img_dsc_t"><span class="n"><span class="pre">lv_img_dsc_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">img</span></span>, <span class="n"><span class="pre">int16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">angle</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">zoom</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset_x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset_y</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">pivot_x</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">pivot_y</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">antialias</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_canvas_transformP8lv_obj_tP12lv_img_dsc_t7int16_t8uint16_t10lv_coord_t10lv_coord_t7int32_t7int32_tb" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Transform and image and store the result on a canvas. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object to store the result of the transformation. </p></li>
<li><p><strong>img</strong> -- pointer to an image descriptor to transform. Can be the image descriptor of an other canvas too (<code class="docutils literal notranslate"><a class="reference internal" href="#lv__canvas_8h_1ab88808b96446336d7c25436d4e7c8d75"><span class="std std-ref"><span class="pre">lv_canvas_get_img()</span></span></a></code>). </p></li>
<li><p><strong>angle</strong> -- the angle of rotation (0..3600), 0.1 deg resolution </p></li>
<li><p><strong>zoom</strong> -- zoom factor (256 no zoom); </p></li>
<li><p><strong>offset_x</strong> -- offset X to tell where to put the result data on destination canvas </p></li>
<li><p><strong>offset_y</strong> -- offset X to tell where to put the result data on destination canvas </p></li>
<li><p><strong>pivot_x</strong> -- pivot X of rotation. Relative to the source canvas Set to <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">width</span> <span class="pre">/</span> <span class="pre">2</span></code> to rotate around the center </p></li>
<li><p><strong>pivot_y</strong> -- pivot Y of rotation. Relative to the source canvas Set to <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">height</span> <span class="pre">/</span> <span class="pre">2</span></code> to rotate around the center </p></li>
<li><p><strong>antialias</strong> -- apply anti-aliasing during the transformation. Looks better but slower. </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_canvas_blur_horP8lv_obj_tPK9lv_area_t8uint16_t">
<span id="_CPPv318lv_canvas_blur_horP8lv_obj_tPK9lv_area_t8uint16_t"></span><span id="_CPPv218lv_canvas_blur_horP8lv_obj_tPK9lv_area_t8uint16_t"></span><span id="lv_canvas_blur_hor__lv_obj_tP.lv_area_tCP.uint16_t"></span><span class="target" id="lv__canvas_8h_1a6d19fd6eb6564fba323d45a48108812d"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_blur_hor</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_area_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">area</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">r</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_canvas_blur_horP8lv_obj_tPK9lv_area_t8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Apply horizontal blur on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>area</strong> -- the area to blur. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code> the whole canvas will be blurred. </p></li>
<li><p><strong>r</strong> -- radius of the blur </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_canvas_blur_verP8lv_obj_tPK9lv_area_t8uint16_t">
<span id="_CPPv318lv_canvas_blur_verP8lv_obj_tPK9lv_area_t8uint16_t"></span><span id="_CPPv218lv_canvas_blur_verP8lv_obj_tPK9lv_area_t8uint16_t"></span><span id="lv_canvas_blur_ver__lv_obj_tP.lv_area_tCP.uint16_t"></span><span class="target" id="lv__canvas_8h_1ab012dc122434c2f96c8484b1715ce692"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_blur_ver</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_area_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">area</span></span>, <span class="n"><span class="pre">uint16_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">r</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_canvas_blur_verP8lv_obj_tPK9lv_area_t8uint16_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Apply vertical blur on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>area</strong> -- the area to blur. If <code class="docutils literal notranslate"><span class="pre">NULL</span></code> the whole canvas will be blurred. </p></li>
<li><p><strong>r</strong> -- radius of the blur </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv417lv_canvas_fill_bgP8lv_obj_t10lv_color_t8lv_opa_t">
<span id="_CPPv317lv_canvas_fill_bgP8lv_obj_t10lv_color_t8lv_opa_t"></span><span id="_CPPv217lv_canvas_fill_bgP8lv_obj_t10lv_color_t8lv_opa_t"></span><span id="lv_canvas_fill_bg__lv_obj_tP.lv_color_t.lv_opa_t"></span><span class="target" id="lv__canvas_8h_1acc3d60a59311eac7037cff197d5d4e18"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_fill_bg</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_color_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">color</span></span>, <span class="n"><span class="pre">lv_opa_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">opa</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417lv_canvas_fill_bgP8lv_obj_t10lv_color_t8lv_opa_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Fill the canvas with color </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas </p></li>
<li><p><strong>color</strong> -- the background color </p></li>
<li><p><strong>opa</strong> -- the desired opacity </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_canvas_draw_rectP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_tPK18lv_draw_rect_dsc_t">
<span id="_CPPv319lv_canvas_draw_rectP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_tPK18lv_draw_rect_dsc_t"></span><span id="_CPPv219lv_canvas_draw_rectP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_tPK18lv_draw_rect_dsc_t"></span><span id="lv_canvas_draw_rect__lv_obj_tP.lv_coord_t.lv_coord_t.lv_coord_t.lv_coord_t.lv_draw_rect_dsc_tCP"></span><span class="target" id="lv__canvas_8h_1ababb2d0dbacbc58e3935b3ae2a41431c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_rect</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">w</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">h</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_rect_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_canvas_draw_rectP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t10lv_coord_tPK18lv_draw_rect_dsc_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw a rectangle on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>x</strong> -- left coordinate of the rectangle </p></li>
<li><p><strong>y</strong> -- top coordinate of the rectangle </p></li>
<li><p><strong>w</strong> -- width of the rectangle </p></li>
<li><p><strong>h</strong> -- height of the rectangle </p></li>
<li><p><strong>draw_dsc</strong> -- descriptor of the rectangle </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_canvas_draw_textP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_tP19lv_draw_label_dsc_tPKc">
<span id="_CPPv319lv_canvas_draw_textP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_tP19lv_draw_label_dsc_tPKc"></span><span id="_CPPv219lv_canvas_draw_textP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_tP19lv_draw_label_dsc_tPKc"></span><span id="lv_canvas_draw_text__lv_obj_tP.lv_coord_t.lv_coord_t.lv_coord_t.lv_draw_label_dsc_tP.cCP"></span><span class="target" id="lv__canvas_8h_1a58373b24198121a7fc4b2f511a7601ee"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_text</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">max_w</span></span>, <span class="n"><span class="pre">lv_draw_label_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">txt</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_canvas_draw_textP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_tP19lv_draw_label_dsc_tPKc" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw a text on the canvas. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>x</strong> -- left coordinate of the text </p></li>
<li><p><strong>y</strong> -- top coordinate of the text </p></li>
<li><p><strong>max_w</strong> -- max width of the text. The text will be wrapped to fit into this size </p></li>
<li><p><strong>draw_dsc</strong> -- pointer to a valid label descriptor <code class="docutils literal notranslate"><span class="pre">lv_draw_label_dsc_t</span></code> </p></li>
<li><p><strong>txt</strong> -- text to display </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_canvas_draw_imgP8lv_obj_t10lv_coord_t10lv_coord_tPKvPK17lv_draw_img_dsc_t">
<span id="_CPPv318lv_canvas_draw_imgP8lv_obj_t10lv_coord_t10lv_coord_tPKvPK17lv_draw_img_dsc_t"></span><span id="_CPPv218lv_canvas_draw_imgP8lv_obj_t10lv_coord_t10lv_coord_tPKvPK17lv_draw_img_dsc_t"></span><span id="lv_canvas_draw_img__lv_obj_tP.lv_coord_t.lv_coord_t.voidCP.lv_draw_img_dsc_tCP"></span><span class="target" id="lv__canvas_8h_1ad180d78d608b4490b20adfa6c1cc5570"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_img</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">src</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_img_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_canvas_draw_imgP8lv_obj_t10lv_coord_t10lv_coord_tPKvPK17lv_draw_img_dsc_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw an image on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>x</strong> -- left coordinate of the image </p></li>
<li><p><strong>y</strong> -- top coordinate of the image </p></li>
<li><p><strong>src</strong> -- image source. Can be a pointer an <code class="docutils literal notranslate"><a class="reference internal" href="../../overview/image.html#structlv__img__dsc__t"><span class="std std-ref"><span class="pre">lv_img_dsc_t</span></span></a></code> variable or a path an image. </p></li>
<li><p><strong>draw_dsc</strong> -- pointer to a valid label descriptor <code class="docutils literal notranslate"><span class="pre">lv_draw_img_dsc_t</span></code> </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv419lv_canvas_draw_lineP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_line_dsc_t">
<span id="_CPPv319lv_canvas_draw_lineP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_line_dsc_t"></span><span id="_CPPv219lv_canvas_draw_lineP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_line_dsc_t"></span><span id="lv_canvas_draw_line__lv_obj_tP.lv_point_tCA.uint32_t.lv_draw_line_dsc_tCP"></span><span class="target" id="lv__canvas_8h_1a847ea86ab1920185c34646059d9b2581"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_line</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_point_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">points</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">]</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">point_cnt</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_line_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv419lv_canvas_draw_lineP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_line_dsc_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw a line on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>points</strong> -- point of the line </p></li>
<li><p><strong>point_cnt</strong> -- number of points </p></li>
<li><p><strong>draw_dsc</strong> -- pointer to an initialized <code class="docutils literal notranslate"><span class="pre">lv_draw_line_dsc_t</span></code> variable </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv422lv_canvas_draw_polygonP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_rect_dsc_t">
<span id="_CPPv322lv_canvas_draw_polygonP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_rect_dsc_t"></span><span id="_CPPv222lv_canvas_draw_polygonP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_rect_dsc_t"></span><span id="lv_canvas_draw_polygon__lv_obj_tP.lv_point_tCA.uint32_t.lv_draw_rect_dsc_tCP"></span><span class="target" id="lv__canvas_8h_1ad7eb15935c3fa97564ff1578844fb6a1"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_polygon</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_point_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">points</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">]</span></span>, <span class="n"><span class="pre">uint32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">point_cnt</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_rect_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv422lv_canvas_draw_polygonP8lv_obj_tA_K10lv_point_t8uint32_tPK18lv_draw_rect_dsc_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw a polygon on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>points</strong> -- point of the polygon </p></li>
<li><p><strong>point_cnt</strong> -- number of points </p></li>
<li><p><strong>draw_dsc</strong> -- pointer to an initialized <code class="docutils literal notranslate"><span class="pre">lv_draw_rect_dsc_t</span></code> variable </p></li>
</ul>
</dd>
</dl>
</dd></dl>

<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv418lv_canvas_draw_arcP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t7int32_t7int32_tPK17lv_draw_arc_dsc_t">
<span id="_CPPv318lv_canvas_draw_arcP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t7int32_t7int32_tPK17lv_draw_arc_dsc_t"></span><span id="_CPPv218lv_canvas_draw_arcP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t7int32_t7int32_tPK17lv_draw_arc_dsc_t"></span><span id="lv_canvas_draw_arc__lv_obj_tP.lv_coord_t.lv_coord_t.lv_coord_t.int32_t.int32_t.lv_draw_arc_dsc_tCP"></span><span class="target" id="lv__canvas_8h_1abf87fbd4253629e9123be260dd5f604b"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_draw_arc</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="../obj.html#_CPPv48lv_obj_t" title="lv_obj_t"><span class="n"><span class="pre">lv_obj_t</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">canvas</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">x</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">y</span></span>, <span class="n"><span class="pre">lv_coord_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">r</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">start_angle</span></span>, <span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">end_angle</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_draw_arc_dsc_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">draw_dsc</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv418lv_canvas_draw_arcP8lv_obj_t10lv_coord_t10lv_coord_t10lv_coord_t7int32_t7int32_tPK17lv_draw_arc_dsc_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><p>Draw an arc on the canvas </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>canvas</strong> -- pointer to a canvas object </p></li>
<li><p><strong>x</strong> -- origo x of the arc </p></li>
<li><p><strong>y</strong> -- origo y of the arc </p></li>
<li><p><strong>r</strong> -- radius of the arc </p></li>
<li><p><strong>start_angle</strong> -- start angle in degrees </p></li>
<li><p><strong>end_angle</strong> -- end angle in degrees </p></li>
<li><p><strong>draw_dsc</strong> -- pointer to an initialized <code class="docutils literal notranslate"><span class="pre">lv_draw_line_dsc_t</span></code> variable </p></li>
</ul>
</dd>
</dl>
</dd></dl>

</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-variables">Variables</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv415lv_canvas_class">
<span id="_CPPv315lv_canvas_class"></span><span id="_CPPv215lv_canvas_class"></span><span id="lv_canvas_class__lv_obj_class_tC"></span><span class="target" id="lv__canvas_8h_1a9dcad9177f51515b881bceff7e682291"></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">lv_obj_class_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_class</span></span></span><a class="headerlink" href="#_CPPv415lv_canvas_class" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv411lv_canvas_t">
<span id="_CPPv311lv_canvas_t"></span><span id="_CPPv211lv_canvas_t"></span><span id="lv_canvas_t"></span><span class="target" id="structlv__canvas__t"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">lv_canvas_t</span></span></span><a class="headerlink" href="#_CPPv411lv_canvas_t" title="Permalink to this definition">¶</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N11lv_canvas_t3imgE">
<span id="_CPPv3N11lv_canvas_t3imgE"></span><span id="_CPPv2N11lv_canvas_t3imgE"></span><span id="lv_canvas_t::img__lv_img_t"></span><span class="target" id="structlv__canvas__t_1a2b35302370d7dd0e316af6441cb587bb"></span><a class="reference internal" href="img.html#_CPPv48lv_img_t" title="lv_img_t"><span class="n"><span class="pre">lv_img_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">img</span></span></span><a class="headerlink" href="#_CPPv4N11lv_canvas_t3imgE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N11lv_canvas_t3dscE">
<span id="_CPPv3N11lv_canvas_t3dscE"></span><span id="_CPPv2N11lv_canvas_t3dscE"></span><span id="lv_canvas_t::dsc__lv_img_dsc_t"></span><span class="target" id="structlv__canvas__t_1ad0db803bf9df58e568174f567832e37d"></span><a class="reference internal" href="../../overview/image.html#_CPPv412lv_img_dsc_t" title="lv_img_dsc_t"><span class="n"><span class="pre">lv_img_dsc_t</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dsc</span></span></span><a class="headerlink" href="#_CPPv4N11lv_canvas_t3dscE" title="Permalink to this definition">¶</a><br /></dt>
<dd></dd></dl>

</div>
</dd></dl>

</div>
</div>


           </div>
           
          </div>
          <footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
        <a href="checkbox.html" class="btn btn-neutral float-right" title="Checkbox (lv_checkbox)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
        <a href="btnmatrix.html" class="btn btn-neutral float-left" title="Button matrix (lv_btnmatrix)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>
        &#169; Copyright 2021, LVGL Kft.
      <span class="lastupdated">
        Last updated on Jan 31, 2022.
      </span>

    </p>
  </div>
    
    
    
    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    
    provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>
        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
  

<style>
  .wy-side-nav-search > div[role="search"] {
    color: black;
  }
</style>
 <script type="text/javascript">
    $(document).ready(function() {
        $(".toggle > *").hide();
        $(".toggle .header").show();
        $(".toggle .header").click(function() {
            $(this).parent().children().not(".header").toggle(400);
            $(this).parent().children(".header").toggleClass("open");
        })
    });
</script>

<script type="text/javascript">
function add_version_selector()
{
    return fetch("https://raw.githubusercontent.com/lvgl/docs_compiled/gh-pages/versionlist.txt")
        .then(res => res.text())
        .then(text => {
            const versions = text.split("\n").filter(version => version.trim().length > 0);
            let p = document.getElementById("rtd-search-form").parentElement;
            p.innerHTML = `
            <select name="versions" id="versions" onchange="ver_sel()" style="border-radius:5px; margin-bottom:15px">
            ${versions.map(version => {
                let versionName = "";  
                if(version == "master") versionName = "master (latest)";
                else versionName = "v" + ((version.indexOf(".") != -1) ? version : (version + " (latest minor)"));
                return `<option value="${version}">${versionName}</option>`;
            })}
            </select>` + p.innerHTML;
        });
}

function ver_sel()
{
  var x = document.getElementById("versions").value;
  window.location.href = window.location.protocol + "//" + window.location.host + "/" + x + "/";
}

document.addEventListener('DOMContentLoaded', (event) => {
    add_version_selector().then(() => {
        var value = window.location.pathname.split('/')[1];
        document.getElementById("versions").value = value;
    });
    
})
document.addEventListener('DOMContentLoaded', (event) => {
    function onIntersection(entries) {
        entries.forEach(entry => {
            let currentlyLoaded = entry.target.getAttribute("data-is-loaded") == "true";
            let shouldBeLoaded = entry.intersectionRatio > 0;
            if(currentlyLoaded != shouldBeLoaded) {
                entry.target.setAttribute("data-is-loaded", shouldBeLoaded);
                if(shouldBeLoaded) {
                    let iframe = document.createElement("iframe");
                    iframe.src = entry.target.getAttribute("data-real-src");
                    entry.target.appendChild(iframe);
                } else {
                    let iframe = entry.target.querySelector("iframe");
                    iframe.parentNode.removeChild(iframe);
                }
            }
        });
    }
    const config = {
        rootMargin: '600px 0px',
        threshold: 0.01
    };
    let observer = new IntersectionObserver(onIntersection, config);
    document.querySelectorAll(".lv-example").forEach(iframe => {
        observer.observe(iframe);
    });
});
</script>


</body>
</html>